package com.lingxu.base.system.orgManage.service;

import com.lingxu.base.common.api.vo.Result;
import com.lingxu.base.system.orgManage.dto.OrgParamsDto;

/**
 * @Title: SystemOrgManageService
 * @Package: com.lingxu.base.system.orgManage.service
 * @Author: ysj闫世杰
 * @Email: 1105324813@qq.com
 * @Date: Created in 2022/3/1 15:00
 * @Description:
 * @Version: 1.0.0
 */
public interface SystemOrgManageService {

    /**
     * @Author ysj闫世杰
     * @Description
     * @Date 2022/3/3 14:46
     * @Param: code
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findAreaByCode(String code);

    /**
     * @Author ysj闫世杰
     * @Description 查询父id
     * @Date 2022/4/13 17:31
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findParentId(String id);

    String findAreaName(String id);
    /**
     * @Author ysj闫世杰
     * @Description 查询所有的单位名称
     * @Date 2022/3/7 17:55
     * @Param:
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findAllOrg(String id);
    /**
     * @Author ysj闫世杰
     * @Description 新增单位部门信息
     * @Date 2022/3/1 15:47
     * @Param: sysOrg
     * @Param: superviseId
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result addNewOrganizeData(OrgParamsDto dto);

    /**
     * @Author ysj闫世杰
     * @Description 查询树形结构的单位部门
     * @Date 2022/3/2 10:13
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findOrgManageTree(String id);

    /**
     * @Author ysj闫世杰
     * @Description 查询树形结构的单位部门带人
     * @Date 2022/3/2 10:13
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findOrgManagePersonTree(String id);

    /**
     * @Author ysj闫世杰
     * @Description
     * @Date 2022/5/6 16:47
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findOrgManagePersonList(Integer page, Integer limit,String id);

    /**
     * @Author ysj闫世杰
     * @Description 修改单位部门信息
     * @Date 2022/3/2 10:13
     * @Param: sysOrg
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result updateOrganizeData(OrgParamsDto dto);

    /**
     * @Author ysj闫世杰
     * @Description 根据id查询单位信息
     * @Date 2022/3/2 11:07
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findOrganizeDataById(String id);

    /**
     * @Author ysj闫世杰
     * @Description 删除单位信息
     * @Date 2022/3/2 10:22
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result deleteOrganizeData(String id);

    /**
     * @Author ysj闫世杰
     * @Description 查询部门列表
     * @Date 2022/6/16 19:01
     * @Param: page
     * @Param: limit
     * @Param: id
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result findChildOrgList(Integer page, Integer limit, String id);

    /**
     * @Author ysj闫世杰
     * @Description 手动排序
     * @Date 2022/6/20 16:24
     * @Param: id
     * @Param: sort
     * @Param: type
     * @return com.lingxu.base.common.api.vo.Result
     **/
    Result moveTo(String id,Integer sort, String type);
}
